package main.old.new_2023.last.month_7;


import java.util.ArrayList;
import java.util.List;

/**
 * @Description:
 * todo 2178. 拆分成最多数目的正偶数之和
 * 给你一个整数 finalSum 。请你将它拆分成若干个 互不相同 的正偶数之和，且拆分出来的正偶数数目 最多 。
 * 比方说，给你 finalSum = 12 ，那么这些拆分是符合要求的互不相同的正偶数且和为 finalSum）：(2 + 10) ，(2 + 4 + 6) 和 (4 + 8) 。
 * 它们中，(2 + 4 + 6) 包含最多数目的整数。注意 finalSum 不能拆分成 (2 + 2 + 4 + 4) ，因为拆分出来的整数必须互不相同。
 * 请你返回一个整数数组，表示将整数拆分成 最多 数目的正偶数数组。如果没有办法将 finalSum 进行拆分，请你返回一个 空 数组。
 * 你可以按 任意 顺序返回这些整数。
 * @Author: Take-off
 * @Date: 1:00 PM 2023/6/5
 * @Param:
 * @return:
 **/
public class Solution0706 {
    //拆分成最多数目的正偶数之和
    public List<Long> maximumEvenSplit(long finalSum) {
        List<Long> results = new ArrayList<>();
        if(finalSum % 2 == 1){
            return results;
        }
        long result = 0;
        int i = 1;
        while (result <=  finalSum ){
            long addTemp = (long) i * 2;
            results.add(addTemp);
            result = result + addTemp;
            if (result > finalSum){
                long temp = result - finalSum;
                results.remove(temp);
            }
            i++;
        }
        return results;
    }

    public static void main(String[] args) {
        Solution0706 solution0706 = new Solution0706();
        solution0706.maximumEvenSplit(18);
    }
}
